buildPath

Undocumented in source. Be warned that the author may not have intended to support it.
string
buildPath
(
Node!string node
)

Examples

Copied from dmd.

assert(baseName("a/b/test.txt") == "test.txt");
assert(relativePath("foo", "") == "foo");
assert(filenameNoExt("helloWorld.zip") == "helloWorld");
assert("/hello/test/again".isRootOf("/hello/test/again/something/is/here.txt"));

version (Posix)
{
    assert(filename("/something/here/yet.txt"), "yet.txt");
    assert(filenameNoExt("/something/here/yet.txt"), "yet");

    assert(relativePath("foo", "/bar") == "foo");
    assert(relativePath("/foo/bar", "/foo/bar") == ".");
    assert(relativePath("/foo/bar", "/foo/baz") == "../bar");
    assert(relativePath("/foo/bar/baz", "/foo/woo/wee") == "../../bar/baz");
    assert(relativePath("/foo/bar/baz", "/foo/bar") == "baz");
}
version (Windows)
{
    assert(filename(`c:\something\here\yet.txt`), "yet.txt");
    assert(filenameNoExt(`c:\something\here\yet.txt`) == "yet");

    assert(relativePath("foo", `c:\bar`) == "foo");
    assert(relativePath(`c:\foo\bar`, `c:\foo\bar`) == ".");
    assert(relativePath(`c:\foo\bar`, `c:\foo\baz`) == `..\bar`);
    assert(relativePath(`c:\foo\bar\baz`, `c:\foo\woo\wee`) == `..\..\bar\baz`);
    assert(relativePath(`c:\foo\bar\baz`, `c:\foo\bar`) == "baz");
    assert(relativePath(`c:\foo\bar`, `d:\foo`) == `c:\foo\bar`);
}

Meta